/*
*********************************************************************************************************
*                                             INCLUDE FILES
*********************************************************************************************************
*/

#pragma once
#include "main.h"

/*
*********************************************************************************************************
*                                             EXPORTED_TYPES
*********************************************************************************************************
*/

typedef struct
{
	int16_t CurSpeed;      // (RPM, RPM, 20/16384 A)
	int16_t ExpSpeed;
	int16_t ActCurrent;
	int16_t OutCurrent;
    int16_t CurPosition;
    int16_t ExpPosition;
    int64_t Temparg;//
    int32_t Disparg;
    int32_t Exparg;// 157293.5=360
    int16_t Expvel;//
    int32_t postemp;
    int16_t posdel;
    int16_t Posflag;
    int32_t absolute_temp;
}GM6020_MOTOR;


/*
*********************************************************************************************************
*                                               DEFINES
*********************************************************************************************************
*/

#define	GM6020_CAN               CAN1
#define GM6020_CANSEND           HAL_CAN_AddTxMessage
#define GM6020_CANSEND_h         HAL_CAN_AddTxMessage


/*
*********************************************************************************************************
*                                              ��������
*********************************************************************************************************
*/

void GM6020_Analyze(uint32_t GM6030_StdId,uint8_t* MotorData);
void GM6020_Motor_Current_Ctrl(void);
void GM6020_Motor_Current_Ctrl_h(void);
void GM6020_Motor_Speed_Ctrl(void);
void GM6020_Motor_Position_Ctrl(void);


/*
*********************************************************************************************************
*                                              ��������
*********************************************************************************************************
*/


extern GM6020_MOTOR GM6020[9];


